End users frequently use complex on-premises computer systems. For example, an entity, such as a corporation or government agency, may use a computer network system to facilitate communication among computers used by its employees. In another example, an entity may use a virtualization system to support one or more applications. For example, a virtualization system manages a plurality of virtual machines operating on a single set of hardware.
Because such computer systems can be complex to set up and maintain, system administration solutions are needed to administer the computer systems. For example, a system administration solution may be needed to identify and diagnose problems in a corporation's computer network. System administration solutions can be complex and expensive to design and implement. A significant portion of the complexity and expense associated with designing and implementing system administration solutions is attributable to a lack of the ability to reuse previously implemented components. Furthermore, system administration solutions can be expensive to maintain because each of the end users may need to develop updates to the components of the system administration solutions.